home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / mb19630.lsp < prev    next >
Text File  |  1998-03-15  |  19KB  |  543 lines

  1. ;=============196.30 PROFILLEISTE 19x11.5, natur
  2.  
  3. (EAITDBL "0019630")
  4. (EAITmsg "mb_mld10" "\n" "002" nil) (princ "........") (princ EAITnrx) (princ "\n")
  5. (princ)
  6.  
  7. (defun C:19630H1 (/ P0 P1 P2 P3 P4 P10 P11 E1 E2 E3 E4 E5 Li Lix Wi D19 D6
  8.                     BName n Ben2 Wi2 Px)
  9.    (EAITDBL "0019630")
  10.    (princ (strcat "\n\n" EAITbez1))
  11.    (EAITvari)
  12.    (if (not EAITlpr)(setq EAITlpr 0.0))
  13.    (EAITvars)
  14.    (EAITbpt nil nil nil)
  15.    (setq P1 (getpoint))
  16.    (if (= P1 nil)(setq P1 (EAITrpt)))
  17.  
  18.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  19.    (initget (+ 2 4))
  20.    (setq Li (getdist " "))
  21.    (if (= Li nil)(setq Li EAITlpr))
  22.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  23.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  24.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  25.       (initget (+ 2 4))
  26.       (setq Li (getdist " "))
  27.       (if (= Li nil)(setq Li EAITlpr))
  28.    )
  29.    (setvar "OSMODE" 0)
  30.  
  31.    ;1 Nachkommastelle
  32.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  33.    (princ "\n  -> ")(princ Li)
  34.    
  35.    (setvar "OSMODE" 0)
  36.    (initget 1)
  37.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  38.    (setq Wi (getangle P1))
  39.    (setq Wi (* 180.0 (/ Wi Pi)))
  40.    (cond
  41.           ((and (>= Wi 90)  (< Wi 180)) (setq Li (* Li -1) D19 18.9 D6 6.0 Wi 135) )
  42.           ((and (>= Wi 180) (< Wi 270)) (setq D19 -18.9  Li (* Li -1) D6 -12.9 Wi 225) )
  43.           ((and (>= Wi 270) (< Wi 360)) (setq D19 -18.9 D6 -12.9 Wi 315) )
  44.           (T (setq D19 18.9 D6 6.0 Wi 45))
  45.    )
  46.    (setq P2 (list (+ (car P1) Li) (cadr P1))
  47.          P3 (list (car P2) (+ (cadr P2) D19))
  48.          P4 (list (car P1) (cadr P3))
  49.    )
  50.    (command EAITlay EAITlse "EAIT50" "")
  51.    (command EAITlin P1 P2 "")
  52.    (setq E1 (entlast))
  53.    (command EAITlin P2 P3 P4 P1 "" )
  54.  
  55.    (setq Px (list (car P1)(+ (cadr P1)(/ D19 2))))
  56.    (EAITmsg "mb_mld10" "\n" "019" " ")            ;Lage der Sichtkante (Return = keine): 
  57.    (setq Wi2 (getangle Px))
  58.    (if (/= Wi2 nil) (setq Wi2 (* 180.0 (/ Wi2 Pi))) )
  59.    (if (and (>= Wi2 0) (< Wi2 180))
  60.             (setq P10 (list (car P1)(- (cadr P4) D6))
  61.                   P11 (list (car P2)(cadr P10)) )
  62.             (setq P10 (list (car P1)(+ (cadr P1) D6))
  63.                   P11 (list (car P2)(cadr P10)) )
  64.    )
  65.    (setq BName (EAITbnr))
  66.    (if (/= Wi2 nil)
  67.              (progn
  68.                     (command EAITlin P10 P11 "")
  69.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4))
  70.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  71.              )
  72.              (progn
  73.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  74.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  75.              )
  76.    )
  77.    (command EAITege BName P1 "" "" "")
  78.  
  79.    (setq Li (rtos (abs Li) 2 1))
  80.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib Wi) 5) "" "" "" 
  81.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  82.    )
  83.    
  84.    ;letzte Laenge (Li) merken
  85.    (setq Li (atof Li))
  86.    (setq EAITlpr Li)
  87.    
  88.    (EAITvarz2)
  89.    (princ)
  90. )
  91.  
  92.  
  93.  
  94. (defun C:19630H2 (/ P0 P1 P2 P3 P4 P10 P11 E1 E2 E3 E4 E5 Li Lix Wi D19 D6
  95.                     BName n Ben2 Wi2 Px)
  96.    (EAITDBL "0019630")
  97.    (princ (strcat "\n\n" EAITbez1))
  98.    (EAITvari)
  99.    (if (not EAITlpr)(setq EAITlpr 0.0))
  100.    (EAITvars)
  101.    (EAITbpt nil nil nil)
  102.    (setq P1 (getpoint))
  103.    (if (= P1 nil)(setq P1 (EAITrpt)))
  104.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  105.    (initget (+ 2 4))
  106.    (setq Li (getdist " "))
  107.    (if (= Li nil)(setq Li EAITlpr))
  108.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  109.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  110.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  111.       (initget (+ 2 4))
  112.       (setq Li (getdist " "))
  113.       (if (= Li nil)(setq Li EAITlpr))
  114.    )
  115.    (setvar "OSMODE" 0)
  116.  
  117.    ;1 Nachkommastelle
  118.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  119.    (princ "\n  -> ")(princ Li)
  120.  
  121.    (setvar "OSMODE" 0)
  122.    (initget 1)
  123.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  124.    (setq Wi (getangle P1))
  125.    (setq Wi (* 180.0 (/ Wi Pi)))
  126.    (cond
  127.           ((and (>= Wi 90)  (< Wi 180)) (setq Li (* Li -1) D19 11.5 D6 3.0 Wi 135) )
  128.           ((and (>= Wi 180) (< Wi 270)) (setq D19 -11.5  Li (* Li -1) D6 -8.5 Wi 225) )
  129.           ((and (>= Wi 270) (< Wi 360)) (setq D19 -11.5 D6 -8.5 Wi 315) )
  130.           (T (setq D19 11.5 D6 3.0 Wi 45))
  131.    )
  132.    (setq P2 (list (+ (car P1) Li) (cadr P1))
  133.          P3 (list (car P2) (+ (cadr P2) D19))
  134.          P4 (list (car P1) (cadr P3))
  135.    )
  136.    (command EAITlay EAITlse "EAIT50" "")
  137.    (command EAITlin P1 P2 "")
  138.    (setq E1 (entlast))
  139.    (command EAITlin P2 P3 P4 P1 "" )
  140.  
  141.    (setq Px (list (car P1)(+ (cadr P1)(/ D19 2))))
  142.    (EAITmsg "mb_mld10" "\n" "019" " ")            ;Lage der Sichtkante (Return = keine): 
  143.    (setq Wi2 (getangle Px))
  144.    (if (/= Wi2 nil) (setq Wi2 (* 180.0 (/ Wi2 Pi))) )
  145.    (if (and (>= Wi2 0) (< Wi2 180))
  146.             (setq P10 (list (car P1)(- (cadr P4) D6))
  147.                   P11 (list (car P2)(cadr P10)) )
  148.             (setq P10 (list (car P1)(+ (cadr P1) D6))
  149.                   P11 (list (car P2)(cadr P10)) )
  150.    )
  151.    (setq BName (EAITbnr))
  152.    (if (/= Wi2 nil)
  153.              (progn
  154.                     (command EAITlin P10 P11 "")
  155.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4))
  156.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  157.              )
  158.              (progn
  159.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  160.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  161.              )
  162.    )
  163.    (command EAITege BName P1 "" "" "")
  164.  
  165.    (setq Li (rtos (abs Li) 2 1))
  166.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib Wi) 5) "" "" "" 
  167.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  168.    )
  169.    
  170.    ;letzte Laenge (Li) merken
  171.    (setq Li (atof Li))
  172.    (setq EAITlpr Li)
  173.    
  174.    (EAITvarz2)
  175.    (princ)
  176. )
  177.  
  178.  
  179. (defun C:19630S1 (/ Px P0 P1 P2 P3 P4 P11 P10 E1 E2 E3 E4 E5 Li Lix Wi Wi2 KWi KWix
  180.                     DWx W90 Wix Wi2x W2x BName n Ben2 WU WO)
  181.    (EAITDBL "0019630")
  182.    (princ (strcat "\n\n" EAITbez1))
  183.    (EAITvari)
  184.    (if (not EAITlpr)(setq EAITlpr 0.0))
  185.    (EAITvars)
  186.    (EAITbpt nil nil nil)
  187.    (setq P1 (getpoint))
  188.    (if (= P1 nil)(setq P1 (EAITrpt)))
  189.    
  190.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  191.    (initget (+ 2 4))
  192.    (setq Li (getdist " "))
  193.    (if (= Li nil)(setq Li EAITlpr))
  194.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  195.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  196.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  197.       (initget (+ 2 4))
  198.       (setq Li (getdist " "))
  199.       (if (= Li nil)(setq Li EAITlpr))
  200.    )
  201.    (setvar "OSMODE" 0)
  202.  
  203.    ;1 Nachkommastelle
  204.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  205.    (princ "\n  -> ")(princ Li)
  206.  
  207.    
  208.    (initget 1)
  209.    (EAITmsg "mb_mld10" "\n" "004" nil)            ;Winkel
  210.    (setq Wi (getangle P1))
  211.    (setvar "OSMODE" 0)
  212.    (initget 1)
  213.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  214.    (setq KWi (getangle P1))
  215.  
  216.    (setq Wix (EAITbig Wi) KWix (EAITbig KWi))
  217.    (if (>= Wix KWix) (setq DWx (+ KWix (- 360 Wix))) (setq DWx (- KWix Wix)))
  218.    (cond
  219.       ( (and (>= DWx 0) (< DWx 90))    (setq W90 90.0) )
  220.       ( (and (>= DWx 90) (< DWx 180))  (setq W90 -90.0 Wi (+ Wi (EAITgib 180))) )
  221.       ( (and (>= DWx 180) (< DWx 270)) (setq W90 90.0 Wi (+ Wi (EAITgib 180))) )
  222.       ( T (setq W90 -90.0) )
  223.    )
  224.  
  225.    (setq P2 (polar P1 Wi Li)
  226.          P3 (polar P2 (+ Wi (EAITgib W90)) 18.9)
  227.          P4 (polar P3 (+ Wi (EAITgib 180)) Li)
  228.    )
  229.    (command EAITlay EAITlse "EAIT50" "")
  230.    (command EAITlin P1 P2 "")
  231.    (setq E1 (entlast))
  232.    (command EAITlin P2 P3 P4 P1 "")
  233.  
  234.  
  235.    (setq Px (polar P1 (+ Wi (EAITgib W90)) 9.45))
  236.    (EAITmsg "mb_mld10" "\n" "019" " ")            ;Lage der Sichtkante (Return = keine): 
  237.    (setq Wi2 (getangle Px))
  238.    (if (/= Wi2 nil)(setq Wi2x (EAITbig Wi2)) )
  239.    (if (and (/= Wi2 nil)(<= Wix 180)) (setq WU Wix WO (+ Wix 180)) (setq WU (- Wix 180) WO Wix))
  240.    (if (and (<= Wi2x WU)(< Wi2 WO)) (setq Wi2x (+ (- 360 WU) Wi2x)))
  241.    (if (and (>= W2x WU)(< Wi2x WO))
  242.            (setq P10 (polar Px (+ (EAITgib WU)(EAITgib 90)) 3.45) P11 (polar P10 Wi Li))
  243.            (setq P10 (polar Px (+ (EAITgib WU)(EAITgib 90))-3.45) P11 (polar P10 Wi Li))
  244.    )
  245.  
  246.    (setq BName (EAITbnr))
  247.    (if (/= Wi2 nil)
  248.              (progn
  249.                     (command EAITlin P10 P11 "")
  250.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4))
  251.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  252.              )
  253.              (progn
  254.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  255.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  256.              )
  257.    )
  258.    (command EAITege BName P1 "" "" "")
  259.  
  260.    (setq Li (rtos (abs Li) 2 1))
  261.    (command EAITege (strcat EAITpfn "EAITinfo") (polar (polar P1 Wi 5) (+ Wi (EAITgib W90)) 5) "" ""  (+ (EAITbig Wi) W90) 
  262.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  263.    )
  264.  
  265.    
  266.    ;letzte Laenge (Li) merken
  267.    (setq Li (atof Li))
  268.    (setq EAITlpr Li)
  269.    
  270.    (EAITvarz2)
  271.    (princ)
  272. )
  273.  
  274.  
  275.  
  276. (defun C:19630S2 (/ Px P0 P1 P2 P3 P4 P10 P11 E1 E2 E3 E4 E5 Li Lix Wi Wi2 KWi KWix
  277.                    DWx W90 Wix Wi2x BName n Ben2 WU WO W2x)
  278.    (EAITDBL "0019630")
  279.    (princ (strcat "\n\n" EAITbez1))
  280.    (EAITvari)
  281.    (if (not EAITlpr)(setq EAITlpr 0.0))
  282.    (EAITvars)
  283.    (EAITbpt nil nil nil)
  284.    (setq P1 (getpoint))
  285.    (if (= P1 nil)(setq P1 (EAITrpt)))
  286.    
  287.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  288.    (initget (+ 2 4))
  289.    (setq Li (getdist " "))
  290.    (if (= Li nil)(setq Li EAITlpr))
  291.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  292.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  293.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  294.       (initget (+ 2 4))
  295.       (setq Li (getdist " "))
  296.       (if (= Li nil)(setq Li EAITlpr))
  297.    )
  298.    (setvar "OSMODE" 0)
  299.  
  300.    ;1 Nachkommastelle
  301.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  302.    (princ "\n  -> ")(princ Li)
  303.  
  304.    (initget 1)
  305.    (EAITmsg "mb_mld10" "\n" "004" nil)            ;Winkel
  306.    (setq Wi (getangle P1))
  307.    (setvar "OSMODE" 0)
  308.    (initget 1)
  309.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  310.    (setq KWi (getangle P1))
  311.  
  312.    (setq Wix (EAITbig Wi) KWix (EAITbig KWi))
  313.    (if (>= Wix KWix) (setq DWx (+ KWix (- 360 Wix))) (setq DWx (- KWix Wix)))
  314.    (cond
  315.       ( (and (>= DWx 0) (< DWx 90))    (setq W90 90.0) )
  316.       ( (and (>= DWx 90) (< DWx 180))  (setq W90 -90.0 Wi (+ Wi (EAITgib 180))) )
  317.       ( (and (>= DWx 180) (< DWx 270)) (setq W90 90.0 Wi (+ Wi (EAITgib 180))) )
  318.       ( T (setq W90 -90.0) )
  319.    )
  320.  
  321.    (setq P2 (polar P1 Wi Li)
  322.          P3 (polar P2 (+ Wi (EAITgib W90)) 11.5)
  323.          P4 (polar P3 (+ Wi (EAITgib 180)) Li)
  324.    )
  325.    (command EAITlay EAITlse "EAIT50" "")
  326.    (command EAITlin P1 P2 "")
  327.    (setq E1 (entlast))
  328.    (command EAITlin P2 P3 P4 P1 "")
  329.  
  330.  
  331.    (setq Px (polar P1 (+ Wi (EAITgib W90)) 5.75))
  332.    (EAITmsg "mb_mld10" "\n" "019" " ")            ;Lage der Sichtkante (Return = keine): 
  333.    (setq Wi2 (getangle Px))
  334.    (if (/= Wi2 nil)(setq Wi2x (EAITbig Wi2)) )
  335.    (if (and (/= Wi2 nil)(<= Wix 180)) (setq WU Wix WO (+ Wix 180)) (setq WU (- Wix 180) WO Wix))
  336.    (if (and (<= Wi2x WU)(< Wi2 WO)) (setq Wi2x (+ (- 360 WU) Wi2x)))
  337.    (if (and (>= W2x WU)(< Wi2x WO))
  338.            (setq P10 (polar Px (+ (EAITgib WU)(EAITgib 90))  2.75) P11 (polar P10 Wi Li))
  339.            (setq P10 (polar Px (+ (EAITgib WU)(EAITgib 90)) -2.75) P11 (polar P10 Wi Li))
  340.    )
  341.  
  342.    (setq BName (EAITbnr))
  343.    (if (/= Wi2 nil)
  344.              (progn
  345.                     (command EAITlin P10 P11 "")
  346.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4))
  347.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  348.              )
  349.              (progn
  350.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  351.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  352.              )
  353.    )
  354.    (command EAITege BName P1 "" "" "")
  355.  
  356.    (setq Li (rtos (abs Li) 2 1))
  357.    (command EAITege (strcat EAITpfn "EAITinfo") (polar (polar P1 Wi 5) (+ Wi (EAITgib W90)) 5) "" ""  (+ (EAITbig Wi) W90) 
  358.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  359.    )
  360.  
  361.    
  362.    ;letzte Laenge (Li) merken
  363.    (setq Li (atof Li))
  364.    (setq EAITlpr Li)
  365.    
  366.    (EAITvarz2)
  367.    (princ)
  368. )
  369.  
  370.  
  371.  
  372. (defun C:19630V1 (/ P0 P1 P2 P3 P4 P10 P11 E1 E2 E3 E4 E5 Li Lix Wi D19 D6
  373.                     BName n Ben2 Wi2 Px)
  374.    (EAITDBL "0019630")
  375.    (princ (strcat "\n\n" EAITbez1))
  376.    (EAITvari)
  377.    (EAITvars)
  378.    (EAITbpt nil nil nil)
  379.    (setq P1 (getpoint))
  380.    (if (= P1 nil)(setq P1 (EAITrpt)))
  381.    
  382.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  383.    (initget (+ 2 4))
  384.    (setq Li (getdist " "))
  385.    (if (= Li nil)(setq Li EAITlpr))
  386.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  387.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  388.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  389.       (initget (+ 2 4))
  390.       (setq Li (getdist " "))
  391.       (if (= Li nil)(setq Li EAITlpr))
  392.    )
  393.    (setvar "OSMODE" 0)
  394.  
  395.    ;1 Nachkommastelle
  396.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  397.    (princ "\n  -> ")(princ Li)
  398.  
  399.    (setvar "OSMODE" 0)
  400.    (initget 1)
  401.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  402.    (setq Wi (getangle P1))
  403.    (setq Wi (* 180.0 (/ Wi Pi)))
  404.    (cond
  405.           ( (and (>= Wi 90)  (< Wi 180)) (setq D19 -18.9 D6 -12.9 Wi 135) )
  406.           ( (and (>= Wi 180) (< Wi 270)) (setq D19 -18.9 D6 -12.9 Li (* Li -1) Wi 225) )
  407.           ( (and (>= Wi 270) (< Wi 360)) (setq D19  18.9 D6   6.0 Li (* Li -1) Wi 315) )
  408.           (T (setq D19 18.9 D6 6.0 Wi 45))
  409.    )
  410.    (setq P2 (list (+ (car P1) D19) (cadr P1))
  411.          P3 (list (car P2) (+ (cadr P2) Li))
  412.          P4 (list (car P1) (cadr P3))
  413.    )
  414.    (command EAITlay EAITlse "EAIT50" "")
  415.    (command EAITlin P1 P2 "")
  416.    (setq E1 (entlast))
  417.    (command EAITlin P2 P3 P4 P1 "" )
  418.  
  419.    (setq Px (list (+ (car P1)(/ D19 2)) (cadr P1)))
  420.    (EAITmsg "mb_mld10" "\n" "019" " ")            ;Lage der Sichtkante (Return = keine): 
  421.    (setq Wi2 (getangle Px))
  422.    (if (/= Wi2 nil) (setq Wi2 (* 180.0 (/ Wi2 Pi))))
  423.    (if (and (>= Wi2 90) (< Wi2 270))
  424.             (setq P10 (list (+ (car P1) D6)(cadr P1))
  425.                   P11 (list (car P10)(cadr P3)) )
  426.             (setq P10 (list (- (car P2) D6)(cadr P1))
  427.                   P11 (list (car P10)(cadr P3)) )
  428.    )
  429.    (setq BName (EAITbnr))
  430.    (if (/= Wi2 nil)
  431.              (progn
  432.                     (command EAITlin P10 P11 "")
  433.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4))
  434.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  435.              )
  436.              (progn
  437.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  438.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  439.              )
  440.    )
  441.    (command EAITege BName P1 "" "" "")
  442.  
  443.    (setq Li (rtos (abs Li) 2 1))
  444.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib Wi) 5) "" "" "" 
  445.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  446.    )
  447.  
  448.    
  449.    ;letzte Laenge (Li) merken
  450.    (setq Li (atof Li))
  451.    (setq EAITlpr Li)
  452.    
  453.    (EAITvarz2)
  454.    (princ)
  455. )
  456.  
  457.  
  458.  
  459. (defun C:19630V2 (/ P0 P1 P2 P3 P4 P10 P11 E1 E2 E3 E4 E5 Li Lix Wi D19 D6
  460.                     BName n Ben2 Wi2 Px)
  461.    (EAITDBL "0019630")
  462.    (princ (strcat "\n\n" EAITbez1))
  463.    (EAITvari)
  464.    (EAITvars)
  465.    (EAITbpt nil nil nil)
  466.    (setq P1 (getpoint))
  467.    
  468.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  469.    (initget (+ 2 4))
  470.    (setq Li (getdist " "))
  471.    (if (= Li nil)(setq Li EAITlpr))
  472.    (while (or (> Li EAITlmax)(<= Li EAITlmin))
  473.       (EAITmsg "mb_mld1" "\n\n" "006" "  ")(princ EAITlmin)(princ " / ")(princ EAITlmax)(EAITmsg "mb_mld1" " " "007" nil)
  474.       (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")
  475.       (initget (+ 2 4))
  476.       (setq Li (getdist " "))
  477.       (if (= Li nil)(setq Li EAITlpr))
  478.    )
  479.    (setvar "OSMODE" 0)
  480.  
  481.    ;1 Nachkommastelle
  482.    (setq Li (/ (float (fix (+ (* Li 10.0) 0.5))) 10))
  483.    (princ "\n  -> ")(princ Li)
  484.  
  485.    (setvar "OSMODE" 0)
  486.    (initget 1)
  487.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  488.    (setq Wi (getangle P1))
  489.    (setq Wi (* 180.0 (/ Wi Pi)))
  490.    (cond
  491.           ( (and (>= Wi 90)  (< Wi 180)) (setq D19 -11.5 D6 -8.5 Wi 135) )
  492.           ( (and (>= Wi 180) (< Wi 270)) (setq D19 -11.5 D6 -8.5 Li (* Li -1) Wi 225) )
  493.           ( (and (>= Wi 270) (< Wi 360)) (setq D19  11.5 D6   3.0 Li (* Li -1) Wi 315) )
  494.           (T (setq D19 11.5 D6 3.0 Wi 45))
  495.    )
  496.    (setq P2 (list (+ (car P1) D19) (cadr P1))
  497.          P3 (list (car P2) (+ (cadr P2) Li))
  498.          P4 (list (car P1) (cadr P3))
  499.    )
  500.    (command EAITlay EAITlse "EAIT50" "")
  501.    (command EAITlin P1 P2 "")
  502.    (setq E1 (entlast))
  503.    (command EAITlin P2 P3 P4 P1 "" )
  504.  
  505.    (setq Px (list (+ (car P1)(/ D19 2)) (cadr P1)))
  506.    (EAITmsg "mb_mld10" "\n" "019" " ")            ;Lage der Sichtkante (Return = keine): 
  507.    (setq Wi2 (getangle Px))
  508.    (if (/= Wi2 nil) (setq Wi2 (* 180.0 (/ Wi2 Pi))))
  509.    (if (and (>= Wi2 90) (< Wi2 270))
  510.             (setq P10 (list (+ (car P1) D6)(cadr P1))
  511.                   P11 (list (car P10)(cadr P3)) )
  512.             (setq P10 (list (- (car P2) D6)(cadr P1))
  513.                   P11 (list (car P10)(cadr P3)) )
  514.    )
  515.    (setq BName (EAITbnr))
  516.    (if (/= Wi2 nil)
  517.              (progn
  518.                     (command EAITlin P10 P11 "")
  519.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4))
  520.                     (command EAITblo BName P1 E1 E2 E3 E4 E5 "")
  521.              )
  522.              (progn
  523.                     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  524.                     (command EAITblo BName P1 E1 E2 E3 E4 "")
  525.              )
  526.    )
  527.    (command EAITege BName P1 "" "" "")
  528.  
  529.    (setq Li (rtos (abs Li) 2 1))
  530.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib Wi) 5) "" "" "" 
  531.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  532.    )
  533.  
  534.    
  535.    ;letzte Laenge (Li) merken
  536.    (setq Li (atof Li))
  537.    (setq EAITlpr Li)
  538.    
  539.    (EAITvarz2)
  540.    (princ)
  541. )
  542. (princ)
  543.